// pages/profile/profile.js
import { setStorage } from '../../../../utils/storage'
import { userBehavior } from './behavior'
import { reqUploadFile, reqUpdateUserInfo } from '../../../../api/user'


Page({
  behaviors: [userBehavior],
  // 页面的初始数据
  data: {
    isShowPopup: false // 控制更新用户昵称的弹框显示与否
  },

  // 显示修改昵称弹框
  onUpdateNickName() {
    this.setData({
      isShowPopup: true
    })
  },

  // 弹框取消按钮
  cancelForm() {
    this.setData({
      isShowPopup: false,
      'userInfo.nickname': this.data.userInfo.nickname
    })
  },

  // 获取最新的用户昵称
  getNewName(e) {
    // 获取用户输入的最新的昵称
    const { nickname } = e.detail.value

    this.setData({
      'userInfo.nickname': nickname,
      isShowPopup: false
    })
  },

  // 更新用户信息
  async updateUserInfo() {
    // 调用 API，更新用户信息
    await reqUpdateUserInfo(this.data.userInfo)

    // 将用户信息存储到本地
    setStorage('userInfo', this.data.userInfo)

    // 将用户信息存储到 Store
    this.setUserInfo(this.data.userInfo)

    // 给用户提示头像更新成功
    wx.toast({
      title: '头像更新成功!',
      icon: 'none'
    })
  },

  async chooseAvatar(e) {
    const { avatarUrl } = e.detail
    const res = await reqUploadFile(avatarUrl, 'file')
    console.log(res)
    this.setData({
      'userInfo.headimgurl': res.data
    })
  }
})
